package cn.edu.scau.cmi.ema.dao;

import java.util.Set;

import org.springframework.dao.DataAccessException;
import cn.edu.scau.cmi.ema.domain.*;
import cn.edu.scau.cmi.ema.domain.base.CmiPagination;

import java.util.Calendar;

public interface EventpunishDAO extends JpaDao<Eventpunish> {

	public Eventpunish findEventpunishById(Integer id) throws DataAccessException;

	public Eventpunish findEventpunishById(Integer id, int startResult, int maxRows) throws DataAccessException;

	public Set<Eventpunish> findEventpunishByName(String name) throws DataAccessException;

	public Set<Eventpunish> findEventpunishByName(String name, int startResult, int maxRows) throws DataAccessException;

	public Set<Eventpunish> findEventpunishByNameContaining(String name_1) throws DataAccessException;

	public Set<Eventpunish> findEventpunishByNameContaining(String name_1, int startResult, int maxRows)
			throws DataAccessException;

	public Set<Eventpunish> findEventpunishByDate(Calendar date) throws DataAccessException;

	public Set<Eventpunish> findEventpunishByDate(Calendar date, int startResult, int maxRows)
			throws DataAccessException;

	public Set<Eventpunish> findEventpunishByDescription(String description) throws DataAccessException;

	public Set<Eventpunish> findEventpunishByDescription(String description, int startResult, int maxRows)
			throws DataAccessException;

	public Set<Eventpunish> findEventpunishByDescriptionContaining(String description_1) throws DataAccessException;

	public Set<Eventpunish> findEventpunishByDescriptionContaining(String description_1, int startResult, int maxRows)
			throws DataAccessException;

	public Set<Eventpunish> findEventpunishByDate2(Calendar date2) throws DataAccessException;

	public Set<Eventpunish> findEventpunishByDate2(Calendar date2, int startResult, int maxRows)
			throws DataAccessException;

	public Eventpunish findEventpunishByPrimaryKey(Integer id) throws DataAccessException;

	public Eventpunish findEventpunishByPrimaryKey(Integer id, int startResult, int maxRows) throws DataAccessException;

	public Set<Eventpunish> findEventpunishsByIds(Set<Integer> ids) throws DataAccessException;

	public Set<Eventpunish> findAllEventpunishs() throws DataAccessException;

	public Set<Eventpunish> findAllEventpunishs(int startResult, int maxRows) throws DataAccessException;

	public Set<Eventpunish> findEventpunishsByEvent(Integer eventId, int start, int max);

	public Set<Eventpunish> findEventpunishsByPunish(Integer punishId, int start, int max);

	public Set<Eventpunish> findEventpunishByCompositeProperities(String sql, int startResult, int maxRows)
			throws DataAccessException;

	public Set<Eventpunish> findEventpunishsByDetachedCriteria(CmiPagination page) throws DataAccessException;

	public Eventpunish findEventpunishByPhysicalPrimaryKey(Integer eventId, Integer punishId, Calendar date)
			throws DataAccessException;

	public Eventpunish findEventpunishByPhysicalPrimaryKey(Integer eventId, Integer punishId, Calendar date,
			int startResult, int maxRows) throws DataAccessException;
}
